//package com.tjetc;
//
//public class _10Recursive {
//    public static void main(String[] args) {
//        A a = new A();
//        int result = 0;
//        for (int i = 0; i < 4; i++) {
//            result = a.factorial(i + 1);
//        }
////        result = a.noFactorial(1, result); // 1
////        result = a.noFactorial(2, result); // 2 * 1
////        result = a.noFactorial(3, result); // 3 * 2
////        result = a.noFactorial(4, result); // 24
//        System.out.println(result);
//
//        int result1 = a.factorial(4);
//        System.out.println(result1); // 4
//
//
//    }
//}
//
//class classA {
//    public void f() {
//        // 方法的递归：方法自己调用自己
//        // 注意：递归一定要有结束条件 否则就会形成死循环
//        // 递归的效率不一定最高 简洁点：就是少用了循环
//        f();
//    }
//
//
//    // 实现一个阶乘问题：
//    // n! = 1 * 2 * 3 * ....n;
//    // 如果求得是1 的阶乘 结果就是1
//    // 5！ = （2! * 3） （3！* 4） 4! * 5
//    public int noFactorial(int n, int result) {
//        if (n == 1) {
//            return 1;
//        }
//        return result * n;
//    }
//
//    public int factorial(int n) {
//        if (n == 1) {
//            return 1;
//        } else {
//            return factorial(n - 1) * n;
//        }
//
//    }
//
//
//}
//
//
